home *** CD-ROM | disk | FTP | other *** search
/ SPACE 1 / SPACE - Library 1 - Volume 1.iso / games / 389 / styzor / styzor.lst < prev    next >
File List  |  1985-11-19  |  16KB  |  570 lines

  1. ' ***********************************************
  2. ' **              STYZOR'S CONTEST             **
  3. ' **               by Greg Kowis               **
  4. ' **                                           **
  5. ' **            (c) Copyright 1990 by          **
  6. ' **            Antic Publishing, Inc.         **
  7. ' **                                           **
  8. ' **              a GFA BASIC game             **
  9. ' **                                           **
  10. ' ***********************************************
  11. ' #################################################
  12. ' ###                                           ###
  13. ' ###  This program will run on both mono and   ###
  14. ' ###  color systems.                           ###
  15. ' ###                                           ###
  16. ' #################################################
  17. ' **************************************************
  18. ' ******               MAIN LINE         000  ******
  19. ' **************************************************
  20. Rez%=Xbios(4)
  21. If Rez%=1 Then
  22.   Alert 3,"Styzor's Contest runs in|high or low resolution only",1," Cancel ",Dummy
  23.   Edit
  24. Endif
  25. High%=0
  26. Low%=(Rez%=0)
  27. Mono%=(Rez%=2)
  28. Gosub Save_pal
  29. Dim D_rect%(5,1),Targ_pos%(5,1),Hit%(5),Cir$(5,5),Scor%(11),Hi_name$(11)
  30. Openw 0
  31. Openw 0,0,0
  32. On Break Gosub Break_out
  33. Rerun%=False
  34. Path$=Dir$(0)+"\"
  35. Fil$=Path$+"STYZOR.DAT"
  36. If Exist(Fil$) Then
  37.   Open "I",#1,Fil$
  38.   I%=1
  39.   While Not Eof(#1)
  40.     Input #1,Scor%(I%),Hi_name$(I%)
  41.     Inc I%
  42.   Wend
  43.   Close #1
  44.   High%=Scor%(1)
  45. Endif
  46. Gosub Col_set
  47. Deffill 1-6*Low%
  48. Pbox 0,0,639+320*Low%,199-200*Mono%
  49. Deffill 0
  50. Pbox 280+140*Low%,0,360+180*Low%,199-200*Mono%
  51. Deffill 1
  52. Mouse$=Mki$(7)+Mki$(7)
  53. Mouse$=Mouse$+Mki$(0)
  54. Mouse$=Mouse$+Mki$(3)
  55. Mouse$=Mouse$+Mki$(1)
  56. For I%=1 To 16
  57.   Read Backgrnd
  58.   Mouse$=Mouse$+Mki$(Backgrnd)
  59. Next I%
  60. For I%=1 To 16
  61.   Read Foregrnd
  62.   Mouse$=Mouse$+Mki$(Foregrnd)
  63. Next I%
  64. For I%=1 To 5
  65.   Pcircle 320+160*Low%,50+I%*(20-20*Mono%),I%*(4+2*Low%)
  66. Next I%
  67. For I%=1 To 5
  68.   Col%=2-(I%-1)*Low%+((Not (Low%))*Odd(I%))
  69.   Deffill Col%
  70.   Deftext Col%,0,0,6
  71.   Text 25,0,"(c) Copyright 1990 by Antic Publishing"
  72.   For J%=1 To 5
  73.     Deftext Col%,16,,6+J%-7*Mono%
  74.     Fill 320+160*Low%,50+J%*(20-20*Mono%)
  75.     Rx%=J%*(4+2*Low%)
  76.     Ry%=J%*(2-2*Mono%)
  77.     H%=320+160*Low%
  78.     V%=(20-20*Mono%)*J%
  79.     Get H%-Rx%,V%-Ry%+50,H%+Rx%,V%+Ry%+50,Cir$(I%,6-J%)
  80.     Sound 1,13,I%,J%
  81.     Text 15+10*Low%,(23-22*Mono%)*J%-J%*2+50,"STYZOR'S"
  82.     Text 538+310*Low%-J%*6,(23-22*Mono%)*J%-J%*2+50,"CONTEST"
  83.     Pause 5
  84.   Next J%
  85. Next I%
  86. Deftext 1,1,,6-7*Mono%
  87. Sound 1,0,0,0
  88. While Not Quit%
  89.   Deffill 0
  90.   Graphmode 1
  91.   Pbox 0,0,639+320*Low%,199-200*Mono%
  92.   Color 1
  93.   For I%=1 To 30
  94.     X%=Random(640+319*Low%)
  95.     Y%=20+Random(179-200*Mono%)
  96.     Plot X%,Y%
  97.   Next I%
  98.   Rbox 610+320*Low%,185-195*Mono%,636+320*Low%,199-200*Mono%
  99.   Graphmode 3
  100.   Ot%=0
  101.   Score%=0
  102.   Level%=1
  103.   Wave%=0
  104.   Text 1,17-17*Mono%," Score "+Str$(Score%)
  105.   Text 254+142*Low%,17-17*Mono%," High "+Str$(High%)
  106.   Text 478+259*Low%,17-17*Mono%," Level "+Str$(Level%)
  107.   Terminate%=0
  108.   Defmouse Mouse$
  109.   Collide%=0
  110.   While Not Terminate%
  111.     Text 478+259*Low%,17-17*Mono%," Level "+Str$(Level%)
  112.     Level%=Level%-(Wave%=5)
  113.     Text 478+259*Low%,17-17*Mono%," Level "+Str$(Level%)
  114.     T_i_m_e%=Timer
  115.     Seconds%=90-5*Level%
  116.     Oseconds%=Seconds%
  117.     Sec%=Seconds%
  118.     Speed%=Level%+2+Rez%
  119.     Wave%=Wave%+1
  120.     If Wave%=6 Then
  121.       Wave%=1
  122.     Endif
  123.     Text 615+320*Low%,195-200*Mono%,Oseconds%
  124.     Gosub Place_them
  125.     K%=0
  126.     While (Hit%(1)+Hit%(2)+Hit%(3)+Hit%(4)+Hit%(5))<>-5 And Seconds%>0
  127.       Gosub Move_them
  128.       Ok%=K%
  129.       U$=Inkey$
  130.       If U$=" " Then
  131.         Tm%=Timer-T_i_m_e%
  132.         U$=""
  133.         Hidem
  134.         While U$<>" "
  135.           U$=Inkey$
  136.         Wend
  137.         Showm
  138.         T_i_m_e%=Timer-Tm%
  139.       Endif
  140.       Mouse X%,Y%,K%
  141.       If (K%=1 And Ok%<>1) Or K%=2 Then
  142.         If K%=2 Then
  143.           Text 1,17-17*Mono%," Score "+Str$(Score%)
  144.           Text 254+142*Low%,17-17*Mono%," High "+Str$(High%)
  145.           Score%=Score%-20*Level%
  146.           Text 1,17-17*Mono%," Score "+Str$(Score%)
  147.           Text 254+142*Low%,17-17*Mono%," High "+Str$(High%)
  148.         Endif
  149.         Vsync
  150.         Line 320+160*Low%,199-200*Mono%,X%,Y%
  151.         Gosub Hit_one
  152.         Vsync
  153.         Line 320+160*Low%,199-200*Mono%,X%,Y%
  154.         If Collide% Then
  155.           Sound 1,13,10,1,0
  156.           Wave 25,3,9,5200,5
  157.         Else
  158.           Sound 1,15,9,4,0
  159.           Wave 25,3,14,50,4
  160.           Wave 0,0
  161.         Endif
  162.       Endif
  163.       Seconds%=Sec%-((Timer-T_i_m_e%)\200)
  164.       If Seconds%<>Oseconds% Then
  165.         Text 615+320*Low%,195-200*Mono%,Oseconds%
  166.         Text 615+320*Low%,195-200*Mono%,Seconds%
  167.         Oseconds%=Seconds%
  168.         Sound 1,0,4,7,0
  169.         Wave 1,1,15,60,0
  170.       Endif
  171.     Wend
  172.     Text 615+320*Low%,195-200*Mono%,Oseconds%
  173.     If Seconds%<=0 Then
  174.       Terminate%=-1
  175.     Endif
  176.   Wend
  177.   Graphmode 1
  178.   Gosub Hi_scr_in
  179.   If Not Rerun% Then
  180.     Gosub Scores_n_exit
  181.   Endif
  182.   Graphmode 3
  183. Wend
  184. Open "O",#1,Fil$
  185. I%=1
  186. While I%<11 And Scor%(I%)<>0
  187.   Write #1,Scor%(I%),Hi_name$(I%)
  188.   Inc I%
  189. Wend
  190. Close #1
  191. Sound 0,0,0,0,0
  192. Sound 1,0,0,0,0
  193. Sound 2,0,0,0,0
  194. Wave 7,0
  195. Gosub Restore_pal
  196. Edit
  197. End
  198. ' **************************************************
  199. ' ******           BREAK KEY ANSWER       110 ******
  200. ' **************************************************
  201. Procedure Break_out
  202.   Terminate%=-1
  203.   Sec%=0
  204. Return
  205. ' **************************************************
  206. ' ******          TEST FOR COLLISION      120 ******
  207. ' **************************************************
  208. Procedure Hit_one
  209.   Collide%=0
  210.   For I%=1 To 5
  211.     If Not Hit%(I%) Then
  212.       Cx%=Targ_pos%(I%,0)
  213.       Cy%=Targ_pos%(I%,1)
  214.       Spd%=Speed%\2
  215.       If X%>=Cx%-Spd% And X%=<Cx%+(8+4*Low%)*(6-Wave%)+Spd% And Y%>=Cy%-Spd% And Y%=<Cy%+4*(6-6*Mono%-Wave%)+Spd% Then
  216.         Text 1,17-17*Mono%," Score "+Str$(Score%)
  217.         Text 254+142*Low%,17-17*Mono%," High "+Str$(High%)
  218.         Collide%=-1
  219.         Hit%(I%)=-1
  220.         Vsync
  221.         Put Targ_pos%(I%,0),Targ_pos%(I%,1),Cir$(I%,Wave%),6
  222.         Score%=Score%+4*(Wave%+Level%*Level%)
  223.         If Score%>High% Then
  224.           High%=Score%
  225.         Endif
  226.         Text 1,17-17*Mono%," Score "+Str$(Score%)
  227.         Text 254+142*Low%,17-17*Mono%," High "+Str$(High%)
  228.       Endif
  229.     Endif
  230.   Next I%
  231. Return
  232. ' **************************************************
  233. ' ******        ADD HIGH SCORES TO LIST   130 ******
  234. ' **************************************************
  235. Procedure Hi_scr_in
  236.   T%=1
  237.   B%=10
  238.   If Score%>Scor%(B%) Then
  239.     Collide%=0
  240.     Gosub Give_name
  241.     While Not Collide%
  242.       M%=(T%+B%)\2
  243.       If Scor%(M%)<Score% Then
  244.         B%=M%-1
  245.       Else
  246.         T%=M%+1
  247.       Endif
  248.       If B%<T% Then
  249.         Collide%=True
  250.       Endif
  251.     Wend
  252.     Temp_sc%=Score%
  253.     For I%=T% To 10
  254.       Swap Temp_sc%,Scor%(I%)
  255.       Swap Name$,Hi_name$(I%)
  256.     Next I%
  257.     If T%<>1 Then
  258.       Chance_num%=Random(3)
  259.       If (Not Rerun%) And Chance_num%=1 Then
  260.         Oscore%=Score%
  261.         Deftext 1,0,0,6-7*Mono%
  262.         Pbox 0,0,639+320*Low%,199-200*Mono%
  263.         Text 176+164*Low%,30-30*Mono%,"    I am feeling  especially  generous"
  264.         Text 176+164*Low%,50-50*Mono%,"at the  moment, so I will  give  you a"
  265.         Text 176+164*Low%,70-70*Mono%,"second  chance, and this time you only"
  266.         Text 176+164*Low%,90-90*Mono%,"have to beat  your last score. Do  you"
  267.         Text 176+164*Low%,110-110*Mono%,"accept my offer or will you bow to the"
  268.         Text 176+164*Low%,130-130*Mono%,"inevitable?"
  269.         Box 160+80*Low%,160-200*Mono%,264+120*Low%,180-200*Mono%
  270.         Box 400+200*Low%,160-200*Mono%,504+240*Low%,180-200*Mono%
  271.         Text 201+101*Low%,173-200*Mono%,"Try"
  272.         Text 425+221*Low%,173-200*Mono%,"Give Up"
  273.         Deftext 1,1,0,6-7*Mono%
  274.         Click%=False
  275.         Rerun%=False
  276.         While Not Click%
  277.           K%=0
  278.           While K%=0
  279.             Mouse X%,Y%,K%
  280.           Wend
  281.           If X%>(160+80*Low%) And X%<(260+120*Low%) And Y%<(180-200*Mono%) And Y%>(160-200*Mono%) Then
  282.             Click%=True
  283.             Rerun%=True
  284.           Else
  285.             If X%>(400+200*Low%) And X%<(500+240*Low%) And Y%<(180-200*Mono%) And Y%>(160-200*Mono%) Then
  286.               Click%=True
  287.             Endif
  288.           Endif
  289.         Wend
  290.       Else
  291.         If Score%>Oscore% Then
  292.           @Made_it
  293.         Else
  294.           @Failed
  295.         Endif
  296.         Oscore%=Scor%(1)
  297.         Rerun%=False
  298.       Endif
  299.     Else
  300.       @Made_it
  301.       Rerun%=False
  302.     Endif
  303.   Else
  304.     @Failed
  305.     Rerun%=False
  306.   Endif
  307. Return
  308. ' **************************************************
  309. ' ******    DISPLAY SCORES AND OFFER EXIT 140 ******
  310. ' **************************************************
  311. Procedure Scores_n_exit
  312.   Pbox 0,0,639+320*Low%,199-200*Mono%
  313.   I%=1
  314.   Deftext 3,0,0,23-7*Mono%
  315.   Text 154+156*Low%,30-30*Mono%,"«««Styzor's Contest»»»"
  316.   Deftext 3,0,0,6
  317.   Text 154+156*Low%,40-40*Mono%,"(c) 1990 by Antic Publishing"
  318.   Deftext 2,4,0,6-7*Mono%
  319.   While I%<11 And Scor%(I%)<>0
  320.     Text 203+160*Low%,45-45*Mono%+(10-10*Mono%)*I%,Hi_name$(I%)
  321.     Text 383+152*Low%,45-45*Mono%+(10-10*Mono%)*I%,Str$(Scor%(I%))
  322.     Inc I%
  323.   Wend
  324.   Box 160+80*Low%,160-190*Mono%,240+120*Low%,180-200*Mono%
  325.   Box 400+200*Low%,160-190*Mono%,480+240*Low%,180-200*Mono%
  326.   Deftext 1,1,0,13-7*Mono%
  327.   Text 185+101*Low%+10*Mono%,175-200*Mono%,"Play"
  328.   Text 425+221*Low%+10*Mono%,175-200*Mono%,"Quit"
  329.   Deftext 1,1,0,6-7*Mono%
  330.   Text 1,196-200*Mono%," Score "+Str$(Score%)
  331.   Text 254+142*Low%,196-200*Mono%," High "+Str$(High%)
  332.   Text 478+259*Low%,196-200*Mono%," Level "+Str$(Level%)
  333.   Defmouse 0
  334.   Click%=False
  335.   While Not Click%
  336.     K%=0
  337.     While K%=0
  338.       Mouse X%,Y%,K%
  339.     Wend
  340.     If X%>(160+80*Low%) And X%<(240+120*Low%) And Y%<(180-190*Mono%) And Y%>(160-190*Mono%) Then
  341.       Click%=True
  342.     Else
  343.       If X%>(400+200*Low%) And X%<(480+240*Low%) And Y%<(180-190*Mono%) And Y%>(160-190*Mono%) Then
  344.         Click%=True
  345.         Quit%=True
  346.       Endif
  347.     Endif
  348.   Wend
  349. Return
  350. ' **************************************************
  351. ' ******      GIVE NAME FOR TOP 10 SCORE  210 ******
  352. ' **************************************************
  353. Procedure Give_name
  354.   Pbox 0,0,639+320*Low%,199-200*Mono%
  355.   Text 1,17-17*Mono%," Score "+Str$(Score%)
  356.   Text 254+142*Low%,17-17*Mono%," High "+Str$(High%)
  357.   Text 478+259*Low%,17-17*Mono%," Level "+Str$(Level%)
  358.   Color 1
  359.   For I%=1 To 30
  360.     X%=Random(640+319*Low%)
  361.     Y%=20+Random(179-200*Mono%)
  362.     Plot X%,Y%
  363.   Next I%
  364.   Wave%=1
  365.   Speed%=27+Rez%
  366.   Gosub Place_them
  367.   For K%=1 To 30
  368.     Sound 1,13,Random(13),Random(9),1
  369.     Gosub Move_them
  370.   Next K%
  371.   For K%=1 To 10
  372.     For I%=0 To (3-Low%)
  373.       Setcolor I%,Random(8),Random(8),Random(8)
  374.       Sound 1,15,8,6,0
  375.       Sound 2,15,8,6
  376.       Wave 3,3,14,10,2
  377.     Next I%
  378.   Next K%
  379.   Wave 0,0
  380.   Sound 1,0,0,0,0
  381.   Sound 2,0,0,0
  382.   Sound 3,0,0,0
  383.   Wave 7,0
  384.   Gosub Col_set
  385.   Hidem
  386.   Deftext 1,0,0,13-7*Mono%
  387.   Text 224+161*Low%+100*Mono%,90-90*Mono%,"You've made the top 10!!!"
  388.   Text 176+164*Low%+100*Mono%,110-110*Mono%,"Enter your name into the Hall of Fame."
  389.   Print At(34+22*Low%+10*Mono%,14-14*Mono%);
  390.   Form Input 15,Name$
  391.   Showm
  392. Return
  393. ' **************************************************
  394. ' ******         SHOW MADE IT MESSAGE     220 ******
  395. ' **************************************************
  396. Procedure Made_it
  397.   Pbox 0,0,639+320*Low%,199-200*Mono%
  398.   Deftext ,,,6-10*Mono%
  399.   If Low% Then
  400.     Setcolor 15,0,0,0
  401.   Else
  402.     Setcolor 3,0,0,0
  403.   Endif
  404.   Text 216+164*Low%,80,"Regretfully! You have met my"
  405.   Text 216+164*Low%,100,"requirements, so I will allow"
  406.   Text 216+164*Low%,120,"you to live."
  407.   For I%=0 To 7
  408.     Pause 10
  409.     If Low% Then
  410.       Setcolor 15,I%,I%,I%
  411.     Else
  412.       Setcolor 3,I%,I%,I%
  413.     Endif
  414.   Next I%
  415.   Pause 30
  416.   For I%=7 Downto 0
  417.     Pause 10
  418.     If Low% Then
  419.       Setcolor 15,I%,I%,I%
  420.     Else
  421.       Setcolor 3,I%,I%,I%
  422.     Endif
  423.   Next I%
  424.   Pbox 0,0,639+320*Low%,199-200*Mono%
  425.   If Low% Then
  426.     Setcolor 15,7,7,7
  427.   Else
  428.     Setcolor 3,7,7,7
  429.   Endif
  430. Return
  431. ' **************************************************
  432. ' ******         SHOW FAILED MESSAGE      230 ******
  433. ' **************************************************
  434. Procedure Failed
  435.   Pbox 0,0,639+320*Low%,199-200*Mono%
  436.   Deftext ,,,6-10*Mono%
  437.   If Low% Then
  438.     Setcolor 15,0,0,0
  439.   Else
  440.     Setcolor 3,0,0,0
  441.   Endif
  442.   Text 216+164*Low%,80,"Tisk Tisk, you have failed"
  443.   Text 216+164*Low%,100,"to meet my standards, so"
  444.   Text 216+164*Low%,120,"your life is forfeit."
  445.   For I%=0 To 7
  446.     Pause 10
  447.     If Low% Then
  448.       Setcolor 15,I%,I%,I%
  449.     Else
  450.       Setcolor 3,I%,I%,I%
  451.     Endif
  452.   Next I%
  453.   Pause 30
  454.   For I%=7 Downto 0
  455.     Pause 10
  456.     If Low% Then
  457.       Setcolor 15,I%,I%,I%
  458.     Else
  459.       Setcolor 3,I%,I%,I%
  460.     Endif
  461.   Next I%
  462.   Pbox 0,0,639+320*Low%,199-200*Mono%
  463.   If Low% Then
  464.     Setcolor 15,7,7,7
  465.   Else
  466.     Setcolor 3,7,7,7
  467.   Endif
  468. Return
  469. ' **************************************************
  470. ' ******          PLACE THE TARGETS       310 ******
  471. ' **************************************************
  472. Procedure Place_them
  473.   Hidem
  474.   For I%=1 To 5
  475.     Hit%(I%)=0
  476.     For J%=0 To 1
  477.       R%=Int(Rnd+0.5)
  478.       If R%=0 Then
  479.         R%=-1
  480.       Endif
  481.       D_rect%(I%,J%)=R%
  482.     Next J%
  483.     Targ_pos%(I%,0)=Int(Random(639+320*Low%-(8+4*Low%)*(6-Wave%)))
  484.     Targ_pos%(I%,1)=10+Int(Random((189-200*Mono%)-4*(6-Wave%)))
  485.     Put Targ_pos%(I%,0),Targ_pos%(I%,1),Cir$(I%,Wave%),6
  486.   Next I%
  487.   Showm
  488. Return
  489. ' **************************************************
  490. ' ******           MOVE THE TARGETS       320 ******
  491. ' **************************************************
  492. Procedure Move_them
  493.   For I%=1 To 5
  494.     If Not Hit%(I%) Then
  495.       Vsync
  496.       Put Targ_pos%(I%,0),Targ_pos%(I%,1),Cir$(I%,Wave%),6
  497.       Tmx%=Speed%*D_rect%(I%,0)
  498.       Tmy%=Speed%*D_rect%(I%,1)
  499.       If (Targ_pos%(I%,0)+Tmx%)<0 Or (Targ_pos%(I%,0)+Tmx%+(6-Wave%)*(8+4*Low%))>(639+320*Low%) Then
  500.         D_rect%(I%,0)=-D_rect%(I%,0)
  501.       Endif
  502.       If (Targ_pos%(I%,1)+Tmy%)<9 Or (Targ_pos%(I%,1)+Tmy%+(6-Wave%)*4)>(198-200*Mono%) Then
  503.         D_rect%(I%,1)=-D_rect%(I%,1)
  504.       Endif
  505.       Targ_pos%(I%,0)=Targ_pos%(I%,0)+Speed%*D_rect%(I%,0)
  506.       Targ_pos%(I%,1)=Targ_pos%(I%,1)+Speed%*D_rect%(I%,1)
  507.       Vsync
  508.       Put Targ_pos%(I%,0),Targ_pos%(I%,1),Cir$(I%,Wave%),6
  509.     Endif
  510.   Next I%
  511. Return
  512. ' **************************************************
  513. ' ******            SET GAME COLORS       330 ******
  514. ' **************************************************
  515. Procedure Col_set
  516.   Setcolor 0,0,0,0
  517.   If Low% Then
  518.     Setcolor 15,7,7,7
  519.     Setcolor 1,7,0,0
  520.     Setcolor 2,0,7,0
  521.     Setcolor 4,0,0,7
  522.     Setcolor 6,7,7,0
  523.     Setcolor 3,7,0,7
  524.   Else
  525.     Setcolor 3,7,7,7
  526.     Setcolor 1,7,0,0
  527.     Setcolor 2,0,7,0
  528.   Endif
  529. Return
  530. ' **************************************************
  531. ' ******              MOUSE DATA              ******
  532. ' **************************************************
  533. Data 0,0,0,4112,2080,1728,1728,0,1728,1728,2080,4112,0,0,0,0
  534. Data 896,2336,8456,256,16644,256,33026,65278,33026,256,16644,256,8456,2336,896,0
  535. '
  536. ' ------------- SAVE ORIGINAL COLOR PALETTE -----------------------
  537. Procedure Save_pal
  538.   '
  539.   Dim Spalette%(16,3)
  540.   '
  541.   For Z%=0 To 15
  542.     Dpoke Contrl,26
  543.     Dpoke Contrl+2,0
  544.     Dpoke Contrl+6,2
  545.     Dpoke Intin,Z%
  546.     Dpoke Intin+2,0
  547.     Vdisys
  548.     Spalette%(Z%,0)=Dpeek(Intout+2)
  549.     Spalette%(Z%,1)=Dpeek(Intout+4)
  550.     Spalette%(Z%,2)=Dpeek(Intout+6)
  551.   Next Z%
  552. Return
  553. '
  554. ' --------------------- RESTORES PALETTE -------------------
  555. Procedure Restore_pal
  556.   ' Dimensions: Spalette%(16,3)
  557.   '
  558.   For Z%=0 To 15
  559.     Dpoke Contrl,14
  560.     Dpoke Contrl+2,0
  561.     Dpoke Contrl+6,4
  562.     Dpoke Intin,Z%
  563.     Dpoke Intin+2,Spalette%(Z%,0)
  564.     Dpoke Intin+4,Spalette%(Z%,1)
  565.     Dpoke Intin+6,Spalette%(Z%,2)
  566.     Vdisys
  567.   Next Z%
  568. Return
  569. '
  570.